

clear
clc
%% Generacja danych
kmeans_test1;

%% Inicjalizacja obiektu przystankow

% koszt to dlugosc, waga to ilosc osob na przystanek z k_mean obliczone
Stops.getInstance.init(center_of_cluster(:,1:2),generate_distances(center_of_cluster(:,1:2)),center_of_cluster(:,3))

%% Tworzenie popluacji
PA1 = PopulationA( 4, SimpleIndividual );

%% Pierwsza iteracja
PA1.compute_objectives;
PA1.sort()


PA1.best;
[he,hv] = PA1.best.disp_connections;

%% Zycie...
generations = 3;

progress = zeros(1,generations +1);
progress(1) = PA1.best.objective_value;

for k=1:generations
    PA1.to_next_generation();
    
    PA1.compute_objectives();
    PA1.sort();
    PA1.best();
    progress(k+1) = PA1.best.objective_value;
end

%% Wynik
delete(he);
delete(hv);
PA1.best.disp_connections;

%% Postep
clf;
plot(progress);


